package org.byacko.simplemock;

/**
 * 戻り値か引数型を設定するインターフェース
 * 
 * @author koumiya
 * 
 * @param <T>
 */
public class StubBinder<T> extends ResultBinder<T> {

	protected StubBinder(MockCreater<T> mockCreater, String methodName) {
		super(mockCreater, methodName, new Class[] {});
	}
	
	/**
	 * スタブの引数型を設定する。０個以上の引数の型。
	 * @return
	 */
	public ResultBinder<T> with(Class<?>... argTypes) {
		this.argTypes = argTypes;
		return this;
	}

	@Override
	protected MethodHook prepareHook() {
		return new StubMethodHook(methodName, argTypes);
	}
	
	
}
